<template>
    <div id="app">
        <!-- 页面缓存处理 -->
        <keep-alive>
            <router-view v-if="$route.meta.keepAlive"></router-view>
        </keep-alive>
        <!-- 页面缓存处理 -->

        <!-- 无页面缓存处理 -->
        <router-view v-if="!$route.meta.keepAlive"></router-view>
        <!-- 无页面缓存处理 -->
    </div>
</template>

<script>
export default {
    name: 'app',
    data () {
        return {
            userInfo: null
        }
    },
    created () {
        this.setFont()
    },
    watch: {
        $route: {
            handler: function (val, oldVal) {
                if (val.path != '/login' && val.path != '/rankPC') {
                    if (this.userInfo == null) {
                        this.getUserInfo(val)
                    }
                    else {
                        this.getWxConfig(val.path)
                    }
                }
            }
        }
    },
    methods: {
        getUserInfo (val) {
            this.$request({
                url: '/api/user/user_info',
                method: 'post',
                params: {}
            }).then(res => {
                this.userInfo = res
                this.getWxConfig(val.path)
            })
        },
        getWxConfig (path) {
            const that = this
            this.$request({
                url: '/api/Pay/get_apply',
                method: 'post',
                params: {
                    // url: 'https://gzh.mr.xliz.cn/h5' + path
                    url: window.location.href
                }
            }).then(res => {
                let routeHref = window.location.href.split('#')[0]
                this.$wx.config({
                    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
                    appId: res.appId, // 必填，公众号的唯一标识
                    timestamp: res.timestamp, // 必填，生成签名的时间戳
                    nonceStr: res.nonceStr, // 必填，生成签名的随机串
                    signature: res.signature,// 必填，签名
                    jsApiList: ['checkJsApi', 'chooseWXPay', 'updateTimelineShareData', 'updateAppMessageShareData', 'onMenuShareAppMessage', 'onMenuShareTimeline'] // 必填，需要使用的JS接口列表
                })
                this.$wx.checkJsApi({
                    jsApiList: [
                        'chooseWXPay',
                        'updateTimelineShareData',
                        'updateAppMessageShareData',
                        'onMenuShareAppMessage',
                        'onMenuShareTimeline'
                    ],
                    success: function (res) {
                        console.log(JSON.stringify(res))
                    },
                    error: function (res) {
                        console.log(res)
                    }

                })
                this.$wx.ready(function () {
                    if (path == '/gameDetail') {
                        that.$wx.updateAppMessageShareData({
                            title: '元力崛起大赛，等你来战!!', // 分享标题
                            desc: '全球联赛 MR真人竞技馆', // 分享描述
                            link: routeHref + '#' + path + '?id=' + that.userInfo.user_id + '&game_id=' + that.$getUrlKey('game_id'), // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                            imgUrl: 'https://gzh.mr.xliz.cn/h5/static/img/recharge-success-logo.png', // 分享图标
                            success: function () {
                                // 设置成功
                                console.log('分享设置成功')
                            }
                        })
                        that.$wx.updateTimelineShareData({
                            title: '元力崛起大赛，等你来战!!', // 分享标题
                            link: routeHref + '#' + path + '?id=' + that.userInfo.user_id + '&game_id=' + that.$getUrlKey('game_id'), // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                            imgUrl: 'https://gzh.mr.xliz.cn/h5/static/img/recharge-success-logo.png', // 分享图标
                            success: function () {
                                // 设置成功
                                console.log('分享设置成功')
                            }
                        })
                    }
                    else {
                        that.$wx.updateAppMessageShareData({
                            title: '元力崛起大赛，等你来战!!', // 分享标题
                            desc: '全球联赛 MR真人竞技馆', // 分享描述
                            link: routeHref + '#/user?id=' + that.userInfo.user_id, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                            imgUrl: 'https://gzh.mr.xliz.cn/h5/static/img/recharge-success-logo.png', // 分享图标
                            success: function () {
                                // 设置成功
                                console.log('分享设置成功')
                            }
                        })
                        that.$wx.updateTimelineShareData({
                            title: '元力崛起大赛，等你来战!!', // 分享标题
                            link: routeHref + '#/user?id=' + that.userInfo.user_id, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                            imgUrl: 'https://gzh.mr.xliz.cn/h5/static/img/recharge-success-logo.png', // 分享图标
                            success: function () {
                                // 设置成功
                                console.log('分享设置成功')
                            }
                        })
                    }
                })
            })
        },
        setFont () {
            if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
                handleFontSize();
            } else {
                if (document.addEventListener) {
                    document.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
                } else if (document.attachEvent) {
                    document.attachEvent("WeixinJSBridgeReady", handleFontSize);
                    document.attachEvent("onWeixinJSBridgeReady", handleFontSize);
                }
            }
            function handleFontSize () {
                // 设置网页字体为默认大小
                WeixinJSBridge.invoke('setFontSizeCallback', {
                    'fontSize': 0
                });
                // 重写设置网页字体大小的事件
                WeixinJSBridge.on('menu:setfont', function () {
                    WeixinJSBridge.invoke('setFontSizeCallback', {
                        'fontSize': 0
                    });
                });
            }

        }
    }
}
</script>

<style>
</style>
